home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d12 / tcoop.arc / TCOOP2.ARC / TXUNIT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1991-10-26  |  1.6 KB  |  50 lines

  1. // Provides low-level screen support through the TxBuff object 
  2.  
  3. #ifndef H_TXUNIT
  4. #define H_TXUNIT
  5.  
  6. #include "scrnsty.h"
  7. #include "string.h"
  8.  
  9. struct Texel { unsigned char Ch, Attr; };
  10. typedef Texel far *TexelPtr;
  11.  
  12. class TxBuff {
  13. public:
  14.   int Wd, Ht;      // Width and height in texels 
  15.   TexelPtr Txram;  // Pointer to texel buffer 
  16.   TexelPtr OrgPtr; // Pointer to origin 
  17.   char Aliased;    // True if buffer is aliased 
  18.   TxBuff(TexelPtr T);
  19.   TxBuff(int W, int H, TexelPtr T);
  20.   ~TxBuff(void);
  21.   void SetRamPtr(TexelPtr T);
  22.   TexelPtr TxramAddr(int X, int Y);
  23.   TexelPtr RelAddr(int X, int Y);
  24.   void SetSize(int W, int H);
  25.   void SetLocn(int X, int Y);
  26.   void Swap(int X, int Y, int W, int H, TxBuff *Other, int Xs, int Ys);
  27.   void Xfr(int X, int Y, int W, int H, TxBuff *Other, int Xs, int Ys);
  28.   void Scroll(int X, int Y, int W, int H, ScrollDir Sd, int Amt);
  29.   void Fill(int X, int Y, int W, int H, char Ch, char Attr);
  30.   void FillB(int X, int Y, int W, int H, char Ch, char Opt);
  31.   void HzWrt(int X, int Y, char *Str, char Attr, unsigned Cnt);
  32.   void HzWrt(int X, int Y, char *Str, char Attr) {
  33.     HzWrt(X, Y, Str, Attr, strlen(Str));
  34.   }
  35.   void HzWrtB(int X, int Y, char *Str, unsigned Cnt);
  36.   void HzWrtB(int X, int Y, char *Str) {
  37.     HzWrtB(X, Y, Str, strlen(Str));
  38.   }
  39.   void HzFill(int X, int Y, char Ch, char Attr, unsigned Cnt) {
  40.     Fill(X, Y, Cnt, 1, Ch, Attr);
  41.   }
  42.   void HzFillB(int X, int Y, char Ch, char Opt, unsigned Cnt) {
  43.     FillB(X, Y, Cnt, 1, Ch, Opt);
  44.   }
  45. };
  46.  
  47. TexelPtr VideoPtr(unsigned &Vmode, unsigned &Vpage);
  48. TexelPtr VideoPtr(void);
  49. #endif
  50.